## 跳出多层循环
## 第一种定义变量flag，根据flag的值做退出

flag = True
for i in range(10):
    for j in range(10):
        if i + j > 15:
            print(i, j)
            flag = False
            break
    if not flag:
        break
## 第二种，在方法内用return

def ttt():
    for i in range(10):
        for j in range(10):
            if i + j > 15:
                print(i, j)
                return


# ttt()
## 第三种，Python的for循环有else关键字，可以利用else和
# comtinue、break跳出循环


def ttt():
    for i in range(10):
        for j in range(10):
            if i + j > 15:
                print(i, j)
                break
        else:
            continue
        break


# ttt()
# 这段代码什么意思呢
# python里面for... else ...
# 表示如果这个循环正常的走完了则会执行else里面的代码，异常退出则不会执行，我们对内层循环做判断，符合条件了break则内存循环异常退出，对应的else也不会执行，然后再下一行是break完成外层循环的退出

## 第四种，我们也可以利用抛出异常来退出


class over_loop(Exception): pass


def ttt():
    try:
        for i in range(10):
            for j in range(10):
                if i + j > 15:
                    print(i, j)
                    raise over_loop()
    except over_loop:
        pass


ttt()
# 这段代码是这样的，首先定义一个异常类，在循环中判断符合条件